package cn.com.cetccst.vpn;

public class VPNConstants {

    public interface VPN_STATUS {
        // VPN module defined
        int VPN_STATUS_LOGOUT = -1;
        int VPN_STATUS_TF_LOCKED = -301;
        int VPN_STATUS_TF_PIN_ERROR = -302;
        int VPN_STATUS_PASSWORD_ERROR = -505;

        int VPN_STATUS_CONNECTED = 0;
        int VPN_STATUS_DISCONNECTED = 1;
        int VPN_STATUS_CONNECT_RESUMED = 2;
        int VPN_STATUS_OCCUPIED = 3;
        int VPN_STATUS_ADMIN_KICKED = 4;
        int VPN_STATUS_AUTHING = 5; // 开始认证
        int VPN_STATUS_SERVICE_RESTART = 6; //认证服务重启(windows 专用)
        int VPN_STATUS_AUTH_FAIL = 7; //认证失败
        int VPN_STATUS_GET_NET_POLICY_FAILED = 8; //获取网络策略失败
        int VPN_STATUS_HEART_BEAT_FAILED = 9; //获取心跳失败
        int VPN_STATUS_GET_TERMINAL_POLICY_FAILED = 10; //获取终端策略失败
        int VPN_STATUS_AUTO_RE_CONNECTING = 11; //自动重连中

        int VPN_STATUS_KEY_REMOVED = 12; //KEY被拔出
        int VPN_STATUS_KEY_INSERTED = 13; //KEY已插入
        int VPN_STATUS_DOWNLOAD_POLICY = 14; //开始获取策略

        int VPN_STATUS_OPEN_VPN_SERVICE_FAILED = 15;   //打开vpnservice失败
        int VPN_STATUS_DE_REGISTER = 16;   //注销中
        int VPN_STATUS_AUTH_SUCCESS = 17;   //认证成功
        int VPN_STATUS_AUTO_RE_CONNECTED = 18;   //自动重连成功
        int VPN_STATUS_AUTO_RE_CONNECT_FAILED = 19;   //自动重连失败

        int VPN_STATUS_IDLE_TIMEOUT = 20;   //空闲超时退出
        int VPN_STATUS_ENGINE_LOAD_FAILED = 21;   //引擎未成功加载
        int VPN_STATUS_WIN_UNLOCK = 22;   //windows解锁
        int VPN_STATUS_TUNNEL_ERROR = 23;   //VPN Server隧道读写出现错误
        int VPN_STATUS_LOGOUTED = 25;   //注销登录成功

        int VPN_STATUS_ENABLE_GATEWAY_MODE = 26;   //启动网关模式
        int VPN_STATUS_WNFE_INIT_FAILED = 27;   //WNFE组件加载异常

        // self defined
        int VPN_STATUS_DISCONNECTING = 0x84;    //132
        int VPN_STATUS_CONNECTING = 0x85;       //133
        int VPN_STATUS_WAIT_CONFIG = 0x86;      //134
        int VPN_STATUS_CONFIG_READY = 0x87;     //135
        int VPN_STATUS_UPDATE_CONFIG = 0x88;    //136
        int VPN_STATUS_DISABLED = 0x99;         //153
        int VPN_STATUS_PENDING = 0x90;          //144
        int VPN_STATUS_LOGIN_FAILED = 0x91;     //145
        int VPN_STATUS_LOGOUT_FAILED = 0x92;    //146
    }

    public interface AUTH_TYPE {
        int AUTH_TYPE_DEFAULT = -1;
        int AUTH_TYPE_NO_VPN = 0x00;
        int AUTH_TYPE_USER = 0x01;
        int AUTH_TYPE_TF = 0x02;
        int AUTH_TYPE_AD = 0x03;
    }

    public interface CERTIFICATION_TRUST_TYPE {
        int TRUST_NO_TRUST = 0;
        int TRUST_ONCE = 1;
        int TRUST_AND_SAVE = 2;
    }

    /**
     * 网关提供商   1.卫士通："1";2.深信服："2";3.启明星辰："3";4.指掌易："4"
     */
    public interface VPN_VENDOR {
        String NO_BRAND = "0";
        String WESTONE = "1";
        String SANGFOR = "2";
        String VENUTECH = "3";
        String SDP = "4";
    }
}
